<!DOCTYPE html>
<html>
    <head>

    </head>
    <body>
        <script>
            /* 
            undefined类型:
              -只有一个值undefined
              -一般在错误的时候出现,而不是我们可以书写的结果
              
              出现undefined的场景:
              3.变量未声明赋值
              2.函数需要的参数没有传参
              3.获取一个对象没有的属性的时候
               4.函数没有返回值，则返回undefined
              */

              /* 变量申明未赋值 */
              var a;
              console.log(a);/* undefined */

             /*  console.log(b); *//* 如果直接读取一个没有声明的变量,则直接报错 b is not defined */

              /* 2函数需要的参数没有实参 */
              function myself(name,add,age) {/* 小括号中的叫做形参 */
                console.log("我是" + name);
                console.log("我来自" + add);
                console.log("我年纪" + age);
                /* consloe.log(age); */
              }
              myself("张三","曹县","18");
              myself("李四","河南");/* 给形参传递的值称为实参 */

              /* 3.获取一个对象没有的属性的时候 */
              console.log(window.hello)/* undefined */

              var obj = {
                name: "laowang",
                age: 18,
                sex: "nan"
              }
              console.log(obj.name)
              console.log(obj.add)/* nudefined */

              /* 4.函数没有返回值，则返回undefined */
              function add(a, b) {
                var sum= a + b;
                /* 函数需要的情况下  可能会返回值 */
                /* return sum; */
              }
              
              var re = add(1, 2);
              console.log(re);
        </script>
    </body>
</html>